//namespace GSpec.Samples
//{
//  using System;

//  using GSpec.Framework;

//  using MbUnit.Framework;

//  using SharpTestsEx;

//  public class UsingConditions_Specs
//  {
//    private BowlingGame bowlingGame;

//    private static int ballCount;

//    public delegate void Hitting_one_ball();
//    [Condition] public Hitting_one_ball HittingOne = () => { ballCount = 1; };

//    public delegate void Hitting_two_balls();
//    [Condition] public Hitting_two_balls HittingTwo = () => { ballCount = 2; };

//    [Given]
//    public void A_new_bowling_game()
//    {
//      bowlingGame = new BowlingGame();
//    }

//    [When]
//    public void Hitting_balls()
//    {
//      bowlingGame.Hit(ballCount);
//    }

//    [WithCondition(typeof(Hitting_two_balls))]
//    [Then]
//    public void The_score_should_be_two()
//    {
//      this.bowlingGame.Score.Should().Be.EqualTo(2);
//    }

//    [WithCondition(typeof(Hitting_one_ball))]
//    [Then]
//    public void The_score_should_be_one()
//    {
//      this.bowlingGame.Score.Should().Be.EqualTo(1);
//    }
//  }
//}